just check the first shift-level of keyboard layout for RTL and LTR
authorBehnam Esfahbod <behnam@zwnj.org>
Wed, 20 Sep 2006 17:47:28 +0000 (17:47 +0000)
committerBehnam Esfahbod <behnam@src.gnome.org>
Wed, 20 Sep 2006 17:47:28 +0000 (17:47 +0000)
2006-09-20  Behnam Esfahbod <behnam@zwnj.org>
* gdk/x11/gdkkeys-x11.c:
  (get_direction): just check the first shift-level of keyboard
  layout for RTL and LTR keysyms() (compliment to #116626)

ChangeLog
gdk/x11/gdkkeys-x11.c

index e93961289d2e03af16ac4f15e19298a59b2e2f48..f2ab3837dd20f665343180a741502c3cf541e366 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-09-20  Behnam Esfahbod <behnam@zwnj.org>
+       * gdk/x11/gdkkeys-x11.c:
+         (get_direction): just check the first shift-level of keyboard
+       layout for RTL and LTR keysyms() (compliment to #116626)
+
 Wed Sep 20 16:59:38 2006  Tim Janik  <timj@imendio.com>
 
        * gtk/gtkviewport.c: always update the bin_window position and size
index d45ab1430df4778d7905427e096b7fab00f5fdd9..4c749287ca9b54902f78eabf316a03bade0bdb54 100644 (file)
@@ -561,27 +561,23 @@ get_direction (XkbDescRec *xkb,
 
   for (code = xkb->min_key_code; code <= xkb->max_key_code; code++)
     {
-      gint width = XkbKeyGroupWidth (xkb, code, group);
-      gint level;
-      for (level = 0; level < width; level++)
-       {
-         KeySym sym = XkbKeySymEntry (xkb, code, level, group);
-         PangoDirection dir = pango_unichar_direction (gdk_keyval_to_unicode (sym));
+      gint level = 0;
+      KeySym sym = XkbKeySymEntry (xkb, code, level, group);
+      PangoDirection dir = pango_unichar_direction (gdk_keyval_to_unicode (sym));
 
-         switch (dir)
-           {
-           case PANGO_DIRECTION_RTL:
-             rtl_minus_ltr++;
-             break;
-           case PANGO_DIRECTION_LTR:
-             rtl_minus_ltr--;
-             break;
-           default:
-             break;
-           }
+      switch (dir)
+       {
+       case PANGO_DIRECTION_RTL:
+         rtl_minus_ltr++;
+         break;
+       case PANGO_DIRECTION_LTR:
+         rtl_minus_ltr--;
+         break;
+       default:
+         break;
        }
     }
-    
+
   if (rtl_minus_ltr > 0)
     return PANGO_DIRECTION_RTL;
   else